package org.rcgwt.client.ui.grid.provider;

import org.rcgwt.client.ui.grid.event.HasFocusElementHandlers;
import org.rcgwt.client.ui.grid.internal.model.IElementModel;
import org.rcgwt.client.ui.grid.internal.model.IViewModel;

/**
 * 
 * Manage the selection list
 * 
 * @author Olivier Oeuillot
 * 
 */
public interface IFocusProvider extends HasFocusElementHandlers<IElementModel> {

    IElementModel getFocusElementModel();

    IViewModel getFocusViewModel();

    void setFocusElement(IViewModel viewModel, IElementModel elementModel);

    void getFocus();

    void looseFocus();

    boolean hasFocus();
}
